abstract method without abstract class